package smartt.styy.auth.service;

import java.util.Map;

import smartt.styy.auth.model.entity.TbAuUser;
import smartt.styy.auth.model.request.JwtAuthenticationRequest;
import smartt.styy.auth.model.request.LoginVo;
import smartt.styy.auth.model.request.ThirdLoginReq;
import smartt.styy.auth.model.request.ThirdRegisterReq;
import smartt.styy.auth.model.request.UserTermDeviceEntity;
import smartt.styy.auth.model.response.ThridLoginRsp;
import smartt.styy.common.bean.AnonymousInfo;
import smartt.styy.common.bean.UserInfo;
import smartt.styy.common.exception.BaseException;

public interface UserService {

	//用户账号+密码，注册提交
	//public TbAuUser userAccountAndPwdRegister(RegisterInfoReq param) throws Exception;
	
	//第三方登录
	public ThridLoginRsp loginByThirdAppAccount(ThirdLoginReq param) throws Exception;
	
	//第三方登录第二步
	public Integer updateAccountInfoFromThirdAPP(ThirdRegisterReq param) throws Exception;
	
	//匿名登录
	public AnonymousInfo loginByTerm(UserTermDeviceEntity param) throws Exception;
	
	//手机号+密码登录
	public TbAuUser loginByPhoneAndPassword(LoginVo loginVo) throws Exception;
	
	//校验userType
	public Boolean veritfyUserType(Map<String,Object> reqMap) throws Exception;
	
	//用户验证
	public UserInfo validate(JwtAuthenticationRequest authenticationRequest) throws BaseException;
	
	//手机号码+重置密码
	public Boolean resetPwdByPhoneNum(String moblie ,String newPwd) throws BaseException;
	
	
}
